A safety kernel provides assurance that a set of required fundamental properties of a control function hold at all times during execution of safety-critical software. These properties are specified as safety rules.
Safety kernels have been used successfully to protect access to computing resources. They have also been used, in security applications, to prevent unauthorized information flow. Safety kernels, also called safety interlocks, have been successful in enforcing security and safety in areas including traffic light control, rail signaling, and nuclear energy generation.
A safety kernel can be viewed as a layer of software configured to, under one or more conditions, intervene in operation of the software. For example, in vehicular applications, a safety kernel can intervene if a vehicle function request violates one or more safety rules set by the software. The safety kernel serves as a layer of protection capable of controlling certain aspects of vehicle hazards. The safety kernel can also perform specific portions of the analysis of Safety Integrity Level (SIL) data associated with elements of the application software of the vehicle.